package com.heima.service;


import com.heima.entity.dto.SessionWebUserDto;
import com.heima.entity.po.FileInfo;
import com.heima.entity.po.UserInfo;
import com.heima.entity.query.FileInfoQuery;
import com.heima.entity.query.UserInfoQuery;
import com.heima.entity.vo.PaginationResultVO;

import javax.servlet.http.HttpSession;
import java.util.List;


/**
 * 用户信息 业务接口
 */
public interface UserInfoService {
    List<UserInfo> findListByParam(UserInfoQuery param);

    /**
     * 根据条件查询列表
     */
    Integer findCountByParam(UserInfoQuery param);

    /**
     * 分页查询
     */
    PaginationResultVO<UserInfo> findListByPage(UserInfoQuery param);

    void register(String email, String password, String nickName, String emailCode);

    SessionWebUserDto login(String email, String password);

    void resetPwd(String email, String password, String emailCode);

    void updateUserInfoByUserId(UserInfo userInfo, String userId);

    void updatePassword(String password, HttpSession session);

    void updateUserStatus(String userId, Integer status);

    void updateUserSpace(String userId, Long changeSpace);

    PaginationResultVO<FileInfo> loadFileList(FileInfoQuery fileInfoQuery);

    UserInfo getUserInfoByUserId(String userId);
}